13. Roman to Integer - LeetCode Solution


Math String

Python Code:

class Solution:
    def romanToInt(self, s: str) -> int:
        
        l = {"I" : 1, "V" :5, "X" : 10, "L" : 50, "C": 100, "D": 500, "M": 1000}
        ans = 0
        flag = 0
        for i in range(len(s) - 1, 0, -1):
            if flag == 1:
                flag = 0
                continue
            
                
            if l[s[i]] > l[s[i-1]]:
                flag = 1
                ans+= l[s[i]] - l[s[i-1]]
            else:
                ans += l[s[i]]
                
        if flag == 0:
            ans+= l[s[0]]
        return ans
                
                
                


Comments

Submit
0 Comments
More Questions

409. Longest Palindrome
1574A - Regular Bracket Sequences
1574B - Combinatorics Homework
1567A - Domino Disaster
1593A - Elections
1607A - Linear Keyboard
EQUALCOIN Equal Coins
XOREQN Xor Equation
MAKEPAL Weird Palindrome Making
HILLSEQ Hill Sequence
MAXBRIDGE Maximise the bridges
WLDRPL Wildcard Replacement
1221. Split a String in Balanced Strings
1002. Find Common Characters
1602A - Two Subsequences
1555A - PizzaForces
1607B - Odd Grasshopper
1084A - The Fair Nut and Elevator
1440B - Sum of Medians
1032A - Kitchen Utensils
1501B - Napoleon Cake
1584B - Coloring Rectangles
1562B - Scenes From a Memory
1521A - Nastia and Nearly Good Numbers
208. Implement Trie
1605B - Reverse Sort
1607C - Minimum Extraction
1604B - XOR Specia-LIS-t
1606B - Update Files
1598B - Groups